gsk_renderer_get_viewport (renderer, &self->viewport);
- if (gsk_renderer_get_auto_clear (renderer))
- {
- cairo_save (cr);
- cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-
- cairo_set_source_rgba (cr, 0, 0, 0, 0);
-
- cairo_paint (cr);
- cairo_restore (cr);
- }
+ cairo_save (cr);
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+ cairo_set_source_rgba (cr, 0, 0, 0, 0);
+ cairo_paint (cr);
+ cairo_restore (cr);
if (GSK_RENDER_MODE_CHECK (GEOMETRY))
{
int scale_factor;
gboolean is_realized : 1;
- gboolean auto_clear : 1;
} GskRendererPrivate;
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GskRenderer, gsk_renderer, G_TYPE_OBJECT)
enum {
PROP_VIEWPORT = 1,
- PROP_AUTO_CLEAR,
PROP_SCALE_FACTOR,
PROP_WINDOW,
PROP_DISPLAY,
gsk_renderer_set_viewport (self, g_value_get_boxed (value));
break;
- case PROP_AUTO_CLEAR:
- gsk_renderer_set_auto_clear (self, g_value_get_boolean (value));
- break;
-
case PROP_SCALE_FACTOR:
gsk_renderer_set_scale_factor (self, g_value_get_int (value));
break;
g_value_set_boxed (value, &priv->viewport);
break;
- case PROP_AUTO_CLEAR:
- g_value_set_boolean (value, priv->auto_clear);
- break;
-
case PROP_SCALE_FACTOR:
g_value_set_int (value, priv->scale_factor);
break;
G_PARAM_STATIC_STRINGS |
G_PARAM_EXPLICIT_NOTIFY);
- /**
- * GskRenderer:auto-clear:
- *
- * Automatically clear the rendering surface when rendering.
- *
- * Setting this property to %FALSE assumes that the owner of the
- * rendering surface will have cleared it prior to calling
- * gsk_renderer_render().
- *
- * Since: 3.22
- */
- gsk_renderer_properties[PROP_AUTO_CLEAR] =
- g_param_spec_boolean ("auto-clear",
- "Auto Clear",
- "Automatically clears the rendering target on render",
- TRUE,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS |
- G_PARAM_EXPLICIT_NOTIFY);
-
/**
* GskRenderer:display:
*
priv->profiler = gsk_profiler_new ();
- priv->auto_clear = TRUE;
priv->scale_factor = 1;
}
g_clear_pointer (&priv->root_node, gsk_render_node_unref);
}
-/**
- * gsk_renderer_set_auto_clear:
- * @renderer: a #GskRenderer
- * @clear: whether the target surface should be cleared prior
- * to rendering to it
- *
- * Sets whether the target surface used by @renderer should be cleared
- * before rendering.
- *
- * If you pass a custom surface to gsk_renderer_set_surface(), you may
- * want to manage the clearing manually; this is possible by passing
- * %FALSE to this function.
- *
- * Since: 3.22
- */
-void
-gsk_renderer_set_auto_clear (GskRenderer *renderer,
- gboolean clear)
-{
- GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
-
- g_return_if_fail (GSK_IS_RENDERER (renderer));
-
- clear = !!clear;
-
- if (clear == priv->auto_clear)
- return;
-
- priv->auto_clear = clear;
-
- g_object_notify_by_pspec (G_OBJECT (renderer), gsk_renderer_properties[PROP_AUTO_CLEAR]);
-}
-
-/**
- * gsk_renderer_get_auto_clear:
- * @renderer: a #GskRenderer
- *
- * Retrieves the value set using gsk_renderer_set_auto_clear().
- *
- * Returns: %TRUE if the target surface should be cleared prior to rendering
- *
- * Since: 3.22
- */
-gboolean
-gsk_renderer_get_auto_clear (GskRenderer *renderer)
-{
- GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
-
- g_return_val_if_fail (GSK_IS_RENDERER (renderer), FALSE);
-
- return priv->auto_clear;
-}
-
/**
* gsk_renderer_create_render_node:
* @renderer: a #GskRenderer